///////////////////////////////////////////////////////////
//  IObject.h
//  Implementation of the Interface IObject
//  Created on:      18-Aug-2013 10:19:16 PM
//  Original author: Jakkaphan Aiemcharoenjit
///////////////////////////////////////////////////////////

#if !defined(EA_10D4B7CC_3ACF_4fd0_A9C1_0F2E65A1B4D5__INCLUDED_)
#define EA_10D4B7CC_3ACF_4fd0_A9C1_0F2E65A1B4D5__INCLUDED_

#include "TCHAR.h"
#include "MemoryObj.h"

namespace Data
{
class IObject : public MemoryObj
{

public:
	enum ObjectType
	{
		ITEM_T = 0,
		HEARDER_T = 1,
		DATA_T = 2,
		PAGE_T = 3,
		PAGES_T = 4,
		CHOICES_T = 5
	};

	virtual IObject::ObjectType GetType() const=0;
	virtual IObject* Clone() =0;
	virtual String_t ToXML() =0;

};
}
#endif // !defined(EA_10D4B7CC_3ACF_4fd0_A9C1_0F2E65A1B4D5__INCLUDED_)
